﻿using Furion.DependencyInjection;
using ZeroAdmin.Application.Entity;

namespace ZeroAdmin.Application;

/// <summary>
/// 系统配置接口
/// </summary>
public interface ISysConfigService : ITransient
{
    /// <summary>
    /// 依据条件获取单条系统配置信息
    /// </summary>
    /// <param name="input"></param>
    /// <returns></returns>
    Task<SysConfig> Get(QuerySysConfigInput input);
    /// <summary>
    /// 依据条件获取多条系统配置信息
    /// </summary>
    /// <param name="input"></param>
    /// <returns></returns>
    Task<IEnumerable<SysConfig>> GetList(QuerySysConfigInput input);
    /// <summary>
    /// 添加配置信息
    /// </summary>
    /// <param name="input"></param>
    /// <returns></returns>
    Task<long> Add(EditSysConfigInput input);
    /// <summary>
    /// 更新配置信息
    /// </summary>
    /// <param name="input"></param>
    /// <returns></returns>
    Task Update(EditSysConfigInput input);
    /// <summary>
    /// 删除配置信息
    /// </summary>
    /// <param name="id"></param>
    /// <returns></returns>
    Task Delete(long id);
}

